#pragma once
#include "myShape.h"

class Rect:public Shape
{
	int m_left, m_right, m_top, m_bottom;
public:
	void WhereAmI();
	void WhereAmIVirtual();
	Rect(int left = 0, int right = 0, int top = 0, int bottom = 0, colour col = BLACK, bool contour = true, double transparency = 1); //�����������
	Rect(const Rect&);//����������� �����������
	void Standarting();//����� "������������" ��������������
	void Inflate(int);
	void InflateRect(int left, int right, int top, int bottom);//����� ������� ����������� ������� �������������� �� �������� ����������
	void InflateRect(int left = 1, int right = 1);//����� ������� ����������� ������� �������������� �� �������� ����������
	void SetAll(int left, int right, int top, int bottom);//����� ������� ����������� ���������� ������ ������������ ��������
	//����� ������� ���, ��� � ������ ����� ������ 4 ��������� ������ Getleft,Getright,Gettop,Getbottom
	void GetAll(int& left, int& right, int& top, int& bottom) const;//����� ������� "�������" �������� private-���������� ������.
	Rect BoundingRect(const Rect&);//�����, ������� ��������� ������� ������ Rect �� ������ � ���������� 
	//������ ������ Rect, ������� �������� ���������������, � ������� ������� ������� � ����������� ��������������.
	~Rect(); //����������
};

//��������� ��� ������� ������ Rect �� �������� � ���������� ������ ������ Rect, ������� �������� ���������������,
//� ������� ������� �������� ��������������.
Rect BoundingRect(Rect, Rect); 
//��������� ��� ������� ������ Rect �� ������ � ���������� ������ ������ Rect, ������� �������� ���������������,
//� ������� ������� �������� ��������������.
Rect BoundingRect2(const Rect&, const Rect&);

